1. Field of the Invention
The present invention relates to a computer system having hot-pluggable component modules such as memory modules, and more particularly, to detecting hot-pluggable component modules when added to the computer system.
2. Description of the Related Technology
Use of computers, especially personal computers, in business and at home is becoming more and more pervasive because the computer has become an integral tool of most information workers who work in the fields of accounting, law, engineering, insurance, services, sales and the like. Rapid technological improvements in the field of computers have opened up many new applications heretofore unavailable or too expensive for the use of older technology mainframe computers. These personal computers may be used as stand-alone workstations (high end individual personal computers) or linked together in a network by a xe2x80x9cnetwork serverxe2x80x9d which is also a personal computer which may have a few additional features specific to its purpose in the network. The network server may be used to store massive amounts of data, and may facilitate interaction of the individual workstations connected to the network for electronic mail (xe2x80x9ce-mailxe2x80x9d), document databases, video teleconferencing, whiteboarding, integrated enterprise calendar, virtual engineering design and the like. Multiple network servers may also be interconnected by local area networks (xe2x80x9cLANxe2x80x9d) and wide area networks (xe2x80x9cWANxe2x80x9d).
A significant part of the ever increasing popularity of the personal computer, besides its low cost relative to just a few years ago, is its ability to run sophisticated programs and perform many useful and new tasks. The personal computer thus has become an indispensable part of business and the economy. The network server plays an even more critical part in business computing by tying together the personal computer workstations into a network (LAN and WAN), and for storing and/or forwarding critical business information. This business information may comprise for example: databases, word processing, spreadsheets, drawings, graphics, e-mail, graphics, pictures, and the like. Therefore, it is imperative that there be a high availability of the computer system.
Replacement of defective components in a computer system or expanding the capabilities thereof, typically requires shutting down the computer needing service. If a defective component or upgrade is required in a network server, the potential for rendering inoperative all of the personal computers depending on that server is very high. The necessity for high availability of server operation has created hot-pluggable component designs as more fully described in commonly owned U.S. patent application Ser. No. 08/940,419, filed Sep. 30, 1997, entitled xe2x80x9cInstallation and Removal of Components of a Computerxe2x80x9d by Sompong P. Olarig, Kenneth A. Jansen and Paul A. Santeler, and is hereby incorporated by reference. Hot-pluggable component designs, however, have typically required specially designed hardware and software modifications to the operating system software for implementation thereof.
There are some components in a computer system that may become defective but still function for their intended purpose for a period of time. For example, system memory comprising a plurality of random access memory (RAM) devices may have added circuitry for error checking and correction (ECC) which allows memory storage bit errors to be corrected without the data stored therein being corrupted. ECC covers up memory storage bit errors, but it does not fix the RAM device(s) causing the problem. Ultimately, the defective RAM device(s) must be replaced before further degradation, which ECC cannot correct, causes the computer system to become inoperative. Upgrading and/or adding RAM devices without shutting down the computer system is also highly desirable.
What is needed is a system, method and apparatus for detecting hot-pluggable component modules added to the computer system and used for the replacement of failing but functional computer components, upgrading and/or adding components without disturbing the normal operation of the computer system, without requiring specially designed hot-pluggable components, and without installing special operating system software patches.
The present invention overcomes the above-identified problems as well as other shortcomings and deficiencies of existing technologies by providing in a computer system an apparatus, method and system for detecting a hot-pluggable component module(s) added to the computer system while the computer system is in operation. An embodiment of the invention detects when a component module is plugged into a component connector on a motherboard or daughter board of the computer system. Once the component module is detected, the embodiment of the invention waits a certain time period before signaling control logic of the availability of the new component module. Detection of the component module when plugged into the component connector may be determined by completing an electrical connection of a pin(s) of the connector to system ground or voltage, or by connecting together two or more of the connector pins when the component module is inserted therein. The certain time period is selected to insure that the component module is properly seated in the connector and the certain time period will reset if the electrical connection is disturbed during this time period.
The added hot-pluggable component module(s) may be used for replacement of existing faulty components or expansion/addition of components without requiring the computer system to be brought off-line during operation thereof. Component replacement and/or expansion/addition of components may be performed by logic and firmware within the computer system, thus requiring no software operating system, application programming interface (API) or driver modifications. The embodiment of the present invention detects the addition of industry standard component modules to the computer system while the computer system is operating.
An example of a replacement component module is a random access memory (RAM) module that is plugged into a computer system memory connector. Other computer system components are contemplated herein and are within the scope of the invention. Some of these components may be, for example but not limitation: modem, network, video, SCSI, disk drive, and fibre channel interfaces; a processor in a multi-processor system, etc. An embodiment of the present invention detects when the RAM module is properly plugged into the memory connector.
The RAM module connectors or memory connectors are electrically isolated from the computer system memory bus with field effect transistor (FET) signal isolation buffers interposed between the connector signal pins and a memory controller. Power FET switches are interposed between the connector power pins and the computer system power buses. Each memory connector may also contain one or more software and/or hardware controllable light emitting diodes (LEDs) of various colors (electronically controllable) to indicate the status of the corresponding memory connector. Control and sense logic is implemented to control operation of the PET signal isolation buffers between the system memory controller and the memory connectors, the power FET switches between the computer system power bus(es) and the memory connectors, and LED status indication. This control and sense logic may monitor (xe2x80x9csnoopxe2x80x9d) memory bus activity so that a memory connector may be connected to or disconnected from the memory bus when the memory bus in inactive, i.e., no read or write operations. The control and sense logic initiates connection of the memory connector/added RAM module when the hot-plug detection logic signals at the added RAM module is present in the connector. Integration and operation of the hot-plug component modules is more fully described in commonly owned U.S. patent application Ser. No. 09/303,369; filed Apr. 30, 1999; entitled xe2x80x9cReplacement, Upgrade, and/or Addition of Hot-Pluggable Components in a Computer Systemxe2x80x9d by Theodore F. Emeron, Vincent Nguyen Peter Michels and Steve Clohset, and is hereby incorporated by reference herein.
In order to replace a faulty memory module, the contents of the faulty module must be copied to the replacement memory module. If the replacement module is not already installed in a memory connector, the operator is alerted and the replacement memory module is installed by a technician while the computer system remains operational. When the replacement memory module is installed the embodiment of the invention detects this replacement memory module, waits a period of time to insure that the module is properly seated in the connector then signals the hot-plug control logic that the replacement module is available.
On-line memory expansion is also accomplished by adding a new RAM module. The operating system, however, needs to be notified of the added memory module so that it can see and use it. The new memory module is inserted into a memory connector, its presence is detected by the embodiment of the invention and after the time period has ended, the new memory module is initialized and the operating system is informed of the added memory capacity.
A combination of replacing a faulty memory module(s) and upgrading memory may also be performed by installing a new memory module having a larger capacity then the faulty module. The replacement memory module is detected by the embodiment of the invention and after the time period has ended, the data from the faulty module is transferred to the new module, the remaining extra capacity of the new memory module is initialized, and the operating system is informed of the added memory capacity.
Other and further embodiments, features and advantages will be apparent from the following description of presently preferred embodiments of the invention, given for the purpose of disclosure and taken in conjunction with the accompanying drawings.